The present invention is related to a method and apparatus for providing font rotation. In particular, the present invention is related to a method and apparatus for enabling a printing device to print character data in either a portrait orientation mode or a landscape orientation mode.
Digital printing devices typically apply a digital bit stream to a printing head in order to print a desired character on a printing medium. The digital bit stream represents a number of individual pixels of the character and is used to selectively activate printing elements contained within the printing head in the proper order to cause the character to be printed on the printing medium. Common printing elements employed in the printing head include light emitting diodes (LEDs), electromagnetically activated printing pins, light valve arrays or ink-jet printing elements, that are selectively energized by the digital bit stream as the printing head is scanned across the printing medium or the printing medium is moved past the printing head. Alternatively, the digital bit stream can be used to modulate a scanning beam that moves across the printing medium.
One of the primary advantages of the printing devices described above is the ease at which different character fonts can be interchanged during a printing operation by simply changing the digital bit stream applied to the printing head. Thus, the style of character being printed (for example, from bold to italics or alphanumeric to graphics) and the character orientation (from portrait to landscape) can be readily changed "on the fly", i.e. during the printing operation, without requiring changes to the mechanical structure of the printing device.
Typically, the digital bit stream applied to the printing head is stored as a bit map representation of the character to be printed in a font memory device. A character code is assigned to each character to be printed and is used to address the font memory in order to retrieve the bit map representation of the character. The use of a font memory is illustrated, for example, in U.S. Pat. No. 3,898,627 issued to Hooker et al., which discloses an optical printer that utilizes a binary scanning beam to produce an image on an electrophotographic copy drum. A font memory is used to store a plurality of fonts including a character font having six lines per inch, a character font having five and one-third lines per inch, and a rotated character font.
There are drawbacks to the system described above, namely, that a large font memory must be employed in order to store the plurality of desired character fonts. Retrieving the character font data from the font memory is also complicated, as each character font is stored in a different segment of the memory and must be addressed separately. Efforts to reduce the amount of memory required to store the character fonts have included the concept of storing data for a single character font in a font memory and converting or translating the data for the single character font into data representative of a second character font. U.S. Pat. No. 4,703,515 issued to Baroody, Jr., for example, discloses an image rotation system that generates images for portrait, landscape, inverse portrait and inverse landscape modes, from a single bit map stored in a font memory.
Systems that perform the translation operation on data representing a single character font do effectively reduce the amount of memory required for font storage. These systems, however, also require a complex addressing scheme to translate the font data, particularly in the case of changing from a portrait mode of operation to a landscape mode of operation which requires rotation of the data. Delays associated with attempting to perform the rotation operation as the font data is read from the memory can be irritating to an operator of the printing device, even when the delay amounts to only a few seconds.
In view of the above, it is an object of the present invention to provide a font memory of simple and economical design which can be operated in a manner to rapidly switch between a variety of fonts. In particular, it is desirable to provide for rapid switching of fonts between a portrait orientation mode and a landscape orientation mode of operation without inducing delay which would be unacceptable to an operator.